Pedestrian traffic monitoring and analysis

ABSTRACT

Numerous mobile devices report their respective locations to a server which collects the location reports to provide real-time pedestrian traffic information, e.g., as a map that shows locations of individual mobile devices. Distribution of mobile devices in a geographic area more closely represents overall population locations and densities. Each device is identified by a digital fingerprint, formed from a number of system and device configuration parameters. Each mobile device is configured to periodically report its location, e.g., at a predetermined time interval and/or whenever the mobile device determines its location for another reason. A known location of a wireless network access point to which a mobile device is connected can serve as an estimated location of the mobile device.

This application claims priority to U.S. Provisional Application61/771,610, filed Mar. 1, 2013, which is fully incorporated herein byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to computer data processing and,more particularly, methods of and systems for monitoring and analyzingpedestrian traffic.

2. Description of the Related Art

There are countless occasions and studies in which knowing where peopleare at any given time is valuable. Some occasions are quite serious. Forexample, emergency services—such as fire departments and paramedics—needto get to places quickly. If areas of a city are blocked by publicgatherings, public demonstrations, or the city's celebration of a sportsteam winning a national championship, emergency response vehicles can besignificantly delayed, sometimes with very serious consequences. Inaddition, knowing whether and where people are in a burning building ishighly valuable information for a fire department.

Analysis of pedestrian traffic patterns can help significantly withurban planning. Knowing where people tend to go within a city can helpwith planning a mass transit system. Knowing places that people tend toavoid can identify instances of urban blight. And, once the urban blightis removed, knowing how many people tend to go to that location canprovide empirical evidence of the efficacy of the blight removal.Monitoring pedestrian traffic can also determine if and how often peopleenter environmentally sensitive areas.

Businesses also value information regarding where people are and wherethey go. Knowing approximately how many people are in a store at anygiven time is valuable. Knowing patterns regarding how many people arein the store at different times of day and different days of the weekand during clearance sales and holidays is very valuable. Also valuableis knowing from where people travel to come to the store and what otherstores they go to before and after shopping in the store.

What is needed is a way to monitor and analyze pedestrian traffic.

SUMMARY OF THE INVENTION

In accordance with the present invention, numerous mobile devices reporttheir respective locations to a server which collects the locationreports to provide real-time pedestrian traffic information. The resultcan be as simple as a map that shows locations of individual mobiledevices. As more and more people own and carry mobile computing devices,such as smart phones, tablet computers, and laptop computers,distribution of mobile devices in a geographic area more closelyrepresents overall population locations and densities.

Real-time pedestrian traffic maps and reports can be used by emergencyresponse vehicles to avoid areas blocked by demonstrations,celebrations, or other mass gatherings that can block various routes. Inaddition, during mass emergencies such as hurricanes and earthquakes,emergency response personnel can identify locations of largedispossessed populations or can determine whether people are inlocations of particular danger.

In addition to reporting real time locations of people in an area, thelocation reports gathered over time can be statistically regressed toprovide information on personal traffic flows. For example, largesporting events can wreak havoc on transportation systems. Trackingindividual mobile devices to and from such a large sporting event canprovide information regarding how many people travel along which pathsto the sporting event, allowing a municipality to modify mass transit orother traffic management systems accordingly. Adapting mass transit toactual, observed human traffic patterns provides optimum service atminimal cost.

Furthermore, commercial interests—particularly retail—benefit from beingable to determine a population of customers within a store at any giventime and even more so from being able to determine where customers tendto come from before shopping in the retail location and where they tendto go to afterwards.

To ensure privacy and convenience of the individuals, the movement ofeach is tracked anonymously by monitoring the location of a portablepersonal computing device. Each device is identified by a digitalfingerprint, formed from a number of system and device configurationparameters. Thus, each device can be accurately and securely identifiedwithout identification of the person carrying the device.

A client device requests personal traffic information from the server.The request can include a number of attributes of the trafficinformation requested. For example, for a current, real-time map, theattributes can specify the geographic boundaries of the map. For a mapof personal movement over time, the attributes can specify both thegeographic boundaries of the map and a range of time over which personalmovement is to be mapped. For a statistical regression of personallocation data, the attributes include the specifics of the statisticalregression to be performed and can also include a format in which theresults of statistical regression are to be represented.

Each mobile device is configured to periodically report its location,e.g., at a predetermined time interval and/or whenever the mobile devicedetermines its location for another reason. A known location of awireless network access point to which a mobile device is connected canserve as an estimated location of the mobile device. The location of thewireless network access point can be roughly determined from otherlocation reports that include locations of respective mobile device thathave been connected to the wireless network access point at the timelocation was reported.

BRIEF DESCRIPTION OF THE DRAWINGS

Other systems, methods, features and advantages of the invention will beor will become apparent to one with skill in the art upon examination ofthe following figures and detailed description. It is intended that allsuch additional systems, methods, features and advantages be includedwithin this description, be within the scope of the invention, and beprotected by the accompanying claims. Component parts shown in thedrawings are not necessarily to scale, and may be exaggerated to betterillustrate the important features of the invention. In the drawings,like reference numerals may designate like parts throughout thedifferent views, wherein:

FIG. 1 is a diagram showing a server computer that gathers and analyzeslocation data from a number of mobile devices through a computer networkto provide personal traffic information to a client device in accordancewith one embodiment of the present invention.

FIG. 2 is a map showing personal traffic information received from themobile device of FIG. 1.

FIG. 3 is a transaction flow diagram showing reporting of currentlocation by a mobile device of FIG. 1.

FIG. 4 is a logic flow diagram showing the manner in which a mobiledevice determines its location in an illustrative embodiment of thepresent invention.

FIG. 5 is a block diagram of a WiFi data record used by the server ofFIG. 1 to determine the geographic location of a wireless network accesspoint.

FIG. 6 is logic flow diagram illustrating the processing by the serverof FIG. 1 of a request for traffic information.

FIG. 7 is a block diagram of a location data record used by the serverof FIG. 1 to represent a location report received from a mobile device.

FIG. 8 is a block diagram showing a mobile device of FIG. 1 in greaterdetail.

FIG. 9 is a block diagram showing the client device of FIG. 1 in greaterdetail.

FIG. 10 is a block diagram showing the server of FIG. 1 in greaterdetail.

DETAILED DESCRIPTION

In accordance with the present invention, a server 106 (FIG. 1) gatherslocation information from user devices 102A-D, provides instantaneousmaps of current pedestrian traffic such as map 200 (FIG. 2), andgenerates statistical analysis of such location information to providedetailed information regarding typical pedestrian traffic patterns.

Map 200 is a very simple example of a pedestrian traffic map yetprovides valuable information. For example, emergency services canimmediately see that the Southeast intersection appears to be blocked bypedestrians and can reroute vehicles in response. The number of peopleusing the park can be determined, both those using the park immediatelyand how many people use the park on average for various days, weeks,months, and seasons. The number of people using the parking garage atthe South of map 200 can be determined, both immediate use and usagepatterns. The number of people visiting any store location shown on map200 can be seen. In addition, patterns of pedestrian behavior can beidentified, such as how many pedestrians visit a particular sequence ofstores vs. other sequences of the same or other stores. Thus, a storemanager can determine that a significant number of customers visit herstore and then immediate visit a competitor around the block.

User devices 102A-D (FIG. 1) each can be any of a number of types ofnetworked computing devices, including smartphones, tablets, netbooks,laptop computers, and desktops computers, though location information isexpected to be more useful for devices that are portable. Each of userdevices 102A-D serves as a location proxy for a single user. In otherwords, the location of each of devices 102A-D is presumed to be thelocation of a single user. In addition, each of user devices 102A-Dcommunicates with server 106 through a network 108, which is theInternet in this illustrative embodiment. Network 108 can also be amobile telephony network. User devices 102A-D are analogous to oneanother and description of user device 102A is equally applicable touser devices 102B-D unless otherwise noted herein. It should also benoted that, while four (4) user devices are shown in this illustrativeexample, many more than four (4) user devices will report locations tomake maps such as map 200 more representative of pedestrian trafficgenerally.

Client device 104 is a device for which server 106 provides access topedestrian traffic information such as map 200 (FIG. 2) through network108.

Transaction flow diagram 300 (FIG. 3) illustrates the reporting bydevice 102A of its location to server 106.

In step 302, device 102A its globally unique device identifier to server106 along with data indicating an intent to report the current locationof device 102A.

In step 304, server 106 sends a digital fingerprint challenge to device102A. Digital fingerprints and digital fingerprint challenges are knownand described in U.S. Patent Application Publication 2011/0093503 for“Computer Hardware Identity Tracking Using CharacteristicParameter-Derived Data” by Craig S. Etchegoyen (filed Apr. 21, 2011) andthat description is incorporated herein in its entirety by reference.

Digital fingerprints offer the advantage of being more stable and lessamenable to spoofing that are IP addresses and MAC addresses and, ofparticular significance here, require no user intervention. Accordingly,location reporting in transaction flow diagram 300 is secure, reliable(no device spoofing), and requires no action on the part of the user.

To avoid frequent communication of digital fingerprints through network108, device identification and authentication uses only part of thedigital fingerprints of user devices 102A-D. A digital fingerprintchallenge specifies one or more parts of a digital fingerprint and amanner in which the parts are combined and cryptographically obscured.In addition, the digital fingerprint challenge can change each timedevice identification and authentication is needed. Accordingly, eachtime a given device sends its digital fingerprint in response to adifferent digital fingerprint challenge, the digital fingerprint sent isdifferent. Any digital fingerprint intercepted within network 108 or anynetwork will not authenticate properly if used in response to adifferent digital fingerprint challenge.

In step 306, user device 102A determines its geographic location. Step306 is described in greater detail below in conjunction with logic flowdiagram 306 (FIG. 4).

In step 308, user device 102A produces a responsive digital fingerprintdata using the challenge received in step 304 and digital fingerprint822 (FIG. 8).

In step 310 (FIG. 3), user device 102A cryptographically combines theresponsive digital fingerprint data produced in step 308 with datarepresenting the location of user device 102A determined in step 308. Bycryptographically combining the responsive digital fingerprint data andthe location data, user device 102A makes the data tamper-evident andobscured.

In step 312, user device 102A sends the combined data to server 106. Instep 314, server 106 parses the responsive digital fingerprint data andlocation data and stores the location of user device 102A in locationdata 1040 (FIG. 10).

After step 314 (FIG. 3), processing according to transaction logicdiagram 300 completes. In one embodiment, user device 102A is configuredto report its location according to transaction logic diagram 300 atregular time intervals. In an alternative embodiment, user device 102Ais configured to report its location according to transaction logicdiagram 300 in response to a number of triggering events, including forexample, determination of the location of user device 102A for reasonsindependent of reporting of the location to server 106 and connecting toa wireless networking access point. Thus, any time the user of userdevice 102A uses GPS circuitry of user device 102A resulting indetermination of the location of user device 102A, user device 102Areports the location to server 106 in the manner described above.

As described above, step 306—in which user device 102A determines itslocation—is shown in greater detail as logic flow diagram 306 (FIG. 4).In logic flow diagram 306, priority is given to the most accurate oflocation data available to user device 102A and data identifying anywireless data network to which user device 102A is included whenavailable to help server 106 in determining the location of devices forwhich a connected wireless data network is the only location dataavailable.

In test step 402, user device 102A determines whether a GPS (GlobalPositioning System) location of user device 102A is available. Userdevice 102A may not include GPS circuitry, in which case the GPSlocation of user device 102A is not available. Even if user device 102Aincludes GPS circuitry, the GPS location of user device 102A may not beavailable if the GPS circuitry is disabled or unable to receive adequatesignals from GPS satellites.

If the GPS location of user device 102A is available, processingtransfers to step 404 in which user device 102A retrieves its GPSlocation. Otherwise, processing transfers from test step 402 to teststep 406.

In test step 404, user device 102A determines whether a coarse locationof user device 102A is available. Coarse location of user device 102Acan be determined in a number of known techniques involving measurementof distances of user device 102A from a number of wireless telephonenetwork base stations and triangulation. Coarse location of user device102A may not be available if telephony network circuitry is disabled orunable to receive adequate signals from base stations.

If the coarse location of user device 102A is available, processingtransfers to step 408 in which user device 102A retrieves its coarselocation. Otherwise, processing transfers from test step 406 to teststep 410.

In test step 410, user device 102A determines whether user device 102Ais connected to a wireless data network (WiFi) through an access point.If user device 102A is connected to a wireless data network through anaccess point, processing transfers to step 412 in which user device 102Aretrieves a globally unique identifier of the access point anddetermines a signal strength from the access point. Otherwise,processing transfers from test step 410 to test step 416. The globallyunique identifier (GUID) of the access point can be a digitalfingerprint of the access point or a canonical combination of readilyavailable information of the access point, such as MAC address andESSID, for example.

In step 416, user device 102A identifies its nearest wireless telephonenetwork base station.

After either step 404 or step 408, processing by user device 102Atransfers to test step 414 in which user device 102A determines whetheruser device 102A is connected to a wireless data network in the mannerdescribed above with respect to test step 410. If user device 102A isconnected to a wireless data network through an access point, processingtransfers to step 412 in which user device 102A retrieves a globallyunique identifier of the access point as described above.

From step 416, step 412, or test step 414 if user device 102A is notconnected to a wireless data network through an access point, processingtransfers to step 418 in which user device 102A reports the retrievedlocation information as its best estimate for its location.

Server 106 can estimate the location of user devices 102A-D for whichthe only location data is a WiFi access point GUID if server 106 canestimate the location of the WiFi access point itself, since WiFi accesspoints have limited range. Accordingly, user device 102A reports anyWiFi access point to which user device 102A is connected even if userdevice 102A can determine its location by a more accurate technique.

In response to a location report that includes WiFi access point data inaddition to location information independent of the WiFi access pointdata, server 106 stores the location information in a location report504 (FIG. 5) within a WiFi data record 500 associated with the WiFiaccess point. WiFi network GUID 502 is the GUID of the WiFi accesspoint, which is sometimes referred to as the subject access point in thecontext of FIG. 5. Each location report for a user device connected tothe subject access point is represented in a location report 504.Location 506 represents the location of the reporting user device.Signal strength 508 represents the signal strength of the subject accesspoint as measured by the reporting user device. Time stamp 510represents the date and time at which the reporting user device wasconnected to the subject access point and can be used to determinewhether the subject access point has been moved. If locations 506 beforea given date and time do not correlate well with locations 506 after thegiven date and time, it can be determined that locations 506 before thedate and time represent a prior location of the subject access point canbe disregarded.

When a user device reports its location with only a GUID of a WiFiaccess point, server 106 estimates the location of the subject accesspoint by finding a center of locations 506 weighted by signal strengths508. Server 106 uses the weighted center as an estimated location of thereporting user device.

As described above, server 106 stores the location of user device 102Ain step 312 (FIG. 3). In particular, server 106 stores the location ofuser device 102A in a location data record 700 (FIG. 7). Device digitalfingerprint 702 is the digital fingerprint by which user device 102A isidentified and authenticated. A number of location reports 704 identifythe location of user device 102A at a given date and time. Location 706represents the location of user device 102A, and time stamp 708represents the date and time.

Logic flow diagram 600 (FIG. 6) illustrates processing by server 106(FIG. 1) in response to a request for pedestrian traffic informationfrom client device 104. In step 602 (FIG. 6), server 106 gatherslocation information of numerous location data records 700 (FIG. 7).

In step 604 (FIG. 6), server 106 performs statistical analysis of thelocation data. For a simple request such as that represented in map 200(FIG. 2), the statistical analysis can be as simple as gathering alldevice locations within the geographic boundaries of map 200 and apredetermined recency, e.g., reported within the last twenty (20)minutes. Other statistical analysis can be more complex, involving avariety of statistical regressions and relationships between multipledevices and/or device locations over time.

User device 102A is a personal computing device and is shown in greaterdetail in FIG. 8. User device 102A includes one or more microprocessors802 (collectively referred to as CPU 802) that retrieve data and/orinstructions from memory 804 and execute retrieved instructions in aconventional manner. Memory 804 can include generally anycomputer-readable medium including, for example, persistent memory suchas magnetic and/or optical disks, ROM, and PROM and volatile memory suchas RAM.

CPU 802 and memory 804 are connected to one another through aconventional interconnect 806, which is a bus in this illustrativeembodiment and which connects CPU 802 and memory 804 to one or moreinput devices 808, output devices 810, and network access circuitry 812.Input devices 808 can include, for example, a keyboard, a keypad, atouch-sensitive screen, a mouse, a microphone, and one or more cameras.Output devices 310 can include, for example, a display—such as a liquidcrystal display (LCD)—and one or more loudspeakers. Network accesscircuitry 812 sends and receives data through computer networks such asnetwork 108 (FIG. 1). GPS circuitry 814 determines the location of userdevice 102A in a conventional manner.

A number of components of user device 102A are stored in memory 804. Inparticular, device tracking logic 820 is all or part of one or morecomputer processes executing within CPU 802 from memory 804 in thisillustrative embodiment but can also be implemented using digital logiccircuitry. As used herein, “logic” refers to (i) logic implemented ascomputer instructions and/or data within one or more computer processesand/or (ii) logic implemented in electronic circuitry. Device trackinglogic 820 causes user device 102A to report its location in the mannerdescribed above.

Digital fingerprint 822 is persistent data stored in memory 804.

Client device 104 is a personal computing device and is shown in greaterdetail in FIG. 9. Client device 104 includes one or more microprocessors902 (collectively referred to as CPU 902), memory 904, an interconnect806, input devices 908, output devices 910, and network access circuitry912 that are analogous to CPU 802 (FIG. 8), memory 804, interconnect806, input devices 808, output devices 810, and network access circuitry812, respectively.

A number of components of client device 104 (FIG. 9) are stored inmemory 904. In particular, web browser logic 920 is all or part of oneor more computer processes executing within CPU 902 from memory 904 inthis illustrative embodiment but can also be implemented using digitallogic circuitry. Web browser 920 is conventional. Digital fingerprint922 is persistent data stored in memory 904.

Server computer 106 is shown in greater detail in FIG. 10. Server 106includes one or more microprocessors 1002 (collectively referred to asCPU 1002) that retrieve data and/or instructions from memory 1004 andexecute retrieved instructions in a conventional manner. Memory 1004 caninclude generally any computer-readable medium including, for example,persistent memory such as magnetic and/or optical disks, ROM, and PROMand volatile memory such as RAM.

CPU 1002 and memory 1004 are connected to one another through aconventional interconnect 1006, which is a bus in this illustrativeembodiment and which connects CPU 1002 and memory 1004 to network accesscircuitry 1012. Network access circuitry 1012 sends and receives datathrough computer networks such as wide area network 104 (FIG. 1).

A number of components of server 106 are stored in memory 1004. Inparticular, web server logic 1020 and web application logic 1022,including location analysis logic 1024, are each all or part of one ormore computer processes executing within CPU 1002 from memory 1004 inthis illustrative embodiment but can also be implemented using digitallogic circuitry. Location monitoring logic 1026 and location analysislogic 1028 are also each all or part of one or more computer processesexecuting within CPU 1002 from memory 1004 in this illustrativeembodiment but can also be implemented using digital logic circuitry.

Web server logic 1020 is a conventional web server. Web applicationlogic 1022 is content that defines one or more pages of a web site andis served by web server logic 1020 to client devices such as clientdevice 104. Location analysis logic 1024 specifies the behavior ofserver 106 in providing location analysis services in the mannerdescribed above. For example, location analysis logic 1024 provides auser interface through which a user of client device 104 can specifyattributes of the statistical analysis of location data desired. Inaddition, location analysis logic 1024 analyzes location data 1040,invoking location analysis logic 1028 in some embodiments.

Location monitoring logic 1026 specifies the behavior of server 106 inreceiving location reports in the manner described above. Locationanalysis logic 1028 specifies the behavior of server 106 in analyzinglocation data 1040 in the manner described herein.

Location data 1040 is data persistently stored in memory 1004 and isorganized as one or more databases in this illustrative embodiment.Location data 1040 includes WiFi data records such as WiFi data record500 (FIG. 5) and location data records such as location data record 700(FIG. 7).

The above description is illustrative only and is not limiting. Thepresent invention is defined solely by the claims which follow and theirfull range of equivalents. It is intended that the following appendedclaims be interpreted as including all such alterations, modifications,permutations, and substitute equivalents as fall within the true spiritand scope of the present invention.

What is claimed is:
 1. A method for reporting traffic informationregarding a population of people, the method comprising: receiving arequest for the traffic information from a remotely located clientdevice, wherein the request specifies one or more attributes of thetraffic information; in response to the request, determining respectivelocations of two or more computing devices; preparing the trafficinformation from the attributes and the locations; and sending thetraffic information to the client device.
 2. The method of claim 1wherein the traffic information is a map in which the respectivelocations of the computing devices within a predetermined recency arerepresented.
 3. The method of claim 1 wherein the traffic information isa statistical regression of the respective locations of the computingdevices collected over time.
 4. The method of claim 1 wherein therespective locations of each of the computing devices are associatedwith a digital fingerprint of the computing device.
 5. The method ofclaim 1 further comprising: estimating at least one location of at leastone of the computing devices from a location of a wireless networkaccess point to which the computing device is connected.
 6. A tangiblecomputer readable medium useful in association with a computer thatincludes one or more processors and a memory, the computer readablemedium including computer instructions that are configured to cause thecomputer, by execution of the computer instructions in the one or moreprocessors from the memory, to report traffic information regarding apopulation of people by at least: receiving a request for the trafficinformation from a remotely located client device, wherein the requestspecifies one or more attributes of the traffic information; in responseto the request, determining respective locations of two or morecomputing devices; preparing the traffic information from the attributesand the locations; and sending the traffic information to the clientdevice.
 7. The computer readable medium of claim 6 wherein the trafficinformation is a map in which the respective locations of the computingdevices within a predetermined recency are represented.
 8. The computerreadable medium of claim 6 wherein the traffic information is astatistical regression of the respective locations of the computingdevices collected over time.
 9. The computer readable medium of claim 6wherein the respective locations of each of the computing devices areassociated with a digital fingerprint of the computing device.
 10. Thecomputer readable medium of claim 6 wherein the computer instructionsare configured to cause the computer to report traffic informationregarding a population of people by at least also: estimating at leastone location of at least one of the computing devices from a location ofa wireless network access point to which the computing device isconnected.
 11. A computer system comprising: at least one processor; acomputer readable medium that is operatively coupled to the processor;network access circuitry that is operatively coupled to the processor;and location monitoring and assessment logic (i) that executes at leastin part in the processor from the computer readable medium and (ii)that, when executed, causes the processor to report traffic informationregarding a population of people by at least: receiving a request forthe traffic information from a remotely located client device, whereinthe request specifies one or more attributes of the traffic information;in response to the request, determining respective locations of two ormore computing devices; preparing the traffic information from theattributes and the locations; and sending the traffic information to theclient device.
 12. The computer system of claim 11 wherein the trafficinformation is a map in which the respective locations of the computingdevices within a predetermined recency are represented.
 13. The computersystem of claim 11 wherein the traffic information is a statisticalregression of the respective locations of the computing devicescollected over time.
 14. The computer system of claim 11 wherein therespective locations of each of the computing devices are associatedwith a digital fingerprint of the computing device.
 15. The computersystem of claim 11 wherein the location monitoring and assessment logiccauses the processor to report traffic information regarding apopulation of people by at least also: estimating at least one locationof at least one of the computing devices from a location of a wirelessnetwork access point to which the computing device is connected.